package event;

/**
 * This is the interface that any events that can be undone implement.
 *
 * @author Neil Dickson
 */
public interface Undoable {
	/**
	 * Undoes the action
	 * @return the inverse action so that it can be re-done by calling undo on it's inverse, or null if it can't be redone
	 */
	Undoable undo();

	/**
	 * @return a description of the event
	 */
	String getDescription();
}
